package org.biz.news;

import java.util.List;

import org.biz.IBaseBiz;
import org.hibernate.entity.Column;
import org.hibernate.entity.Friends;
import org.hibernate.entity.Links;
import org.hibernate.entity.NewsContents;
import org.hibernate.entity.NewsTitle;
import org.hibernate.entity.Suggestion;

/**
 * 
 * 前台业务类接口对象
 * 
 * @Title: IHomeBiz.java
 * @Description:新闻系统(一期)
 * @Copyright: Copyright (c) 2011
 * @Company:北京学邦时代
 * @author 苗有虎
 * @date Oct 23, 2012 10:57:17 AM
 * @version V4.0
 */
public interface IHomeBiz extends IBaseBiz {

	/**
	 * 所有的友情链接;
	 * 
	 * @return
	 */
	public List<Friends> selFriends(int ifusing);

	/**
	 * 查询网站的最新文章;
	 * 
	 * @param pageSize
	 * @return
	 */
	public List<NewsTitle> selNewsTitles(int pageSize);

	/**
	 * 关注频道带图片的最新推荐文章,一条数据;
	 * 
	 * @param cid
	 * @return
	 */
	public List<NewsTitle> selNewsTJByCid(String cid);

	/**
	 * 关注频道置顶的最新文章
	 * 
	 * @param cid
	 * @return
	 */
	public List<NewsTitle> selNewsTopByCid(int cid, int pageSize);

	/**
	 * 本栏目当中含有图片的最新新闻;
	 * 
	 * @param cid
	 *            栏目编号
	 * @return
	 */
	public NewsTitle selColumnPic(int cid);

	/**
	 * 本栏目下的最新新闻;
	 * 
	 * @param cid
	 * @param pageSize
	 * @return
	 */
	public List<NewsTitle> selColumnNews(int cid, int pageSize);

	/** 20131223 add by xy start... */
	/**
	 * 推荐文章
	 */
	public List<NewsTitle> searchByRecommend(int limit);
	
	/**
	 * 咨询排行
	 */
	public List<NewsTitle> searchConsultingOrder(int intDays,int limit);
	
	/**
	 * 通过类型进行查找
	 */
	//public List<TailInfo> searchByType(int intType);
	
	/**
	 * 通过NewsType查找新闻
	 */
	public List<NewsTitle> searchNewsByType(Integer newsType,Integer limit);
	
	/**
	 * 查找重要模块
	 */
	public List<Column> searchImportParts();
	
	/**
	 * 通过查看栏目的静态名称的方式查看新闻数据
	 */
	public List<NewsTitle> selNewsByColumn(String strCids, int pageNo,
			int pageSize);
	
	/**
	 * 通过查看栏目的静态名称的方式查看新闻数据
	 */
	public List<NewsTitle> selNewsByColumn(String strCids, int pageNo,
			int pageSize,boolean hasPic);
	
	/**
	 * 通过查看栏目的静态名称的方式查看排除掉指定ID的新闻数据,
	 */
	public List<NewsTitle> selNewsByColumn(String strCids, int pageNo,
			int pageSize,boolean hasPic,Integer removeID);

	/**
	 * 获得其子栏目
	 * 
	 * @param columns 父栏目
	 * @return
	 */
	public List<Column> listChildColumns(Column columns);
	
	/**
	 * 最新文章
	 */
	public List<NewsTitle> listNewestArciles(int limit);
	/** 20131223 add by xy end... */

	/** 20140223 add by xy start..*/
	/**
	 * 查找幻灯片
	 */
	public List<Links> searchSlides();
	
	/**
	 * 查找公告
	 */
	public List<Links> searchAds();
	/** 20140223 add by xy end..*/

	/**
	 * 
	 * @param strCids
	 * @param pageNo
	 * @param pageSize
	 * @param hasNotPic
	 * @param intRemoveID
	 * @return
	 */
	public List<NewsTitle>  findPartNews(String strCids, int pageNo,
			int pageSize,boolean hasNotPic,Integer intRemoveID);
	/**
	 * 
	 * @param cid
	 * @return
	 */
	public Column findColumnObject(Integer cid);
	/**
	 * 
	 * @param strCids
	 * @param pageNo
	 * @param pageSize
	 * @param hasNotPic
	 * @return
	 */
	public List<NewsTitle>  findPartNews(String strCids, int pageNo,
			int pageSize,boolean hasNotPic);
	
	/**
	 * 
	 * @param strCids
	 * @param pageNo
	 * @param pageSize
	 * @param hasNotPic
	 * @return
	 */
	public List<Suggestion>  findSuggestion(int pageNo,
			int pageSize,boolean hasNotPic);
	/**
	 * 
	 */
	public List<NewsContents> findContentsByTid(int tid, int pageNo,
			int pageSize);
	
	public List<Column> listChildColumns() ;
	
	public List<NewsTitle> selBySearch(String searcheText, int pageNo, int pageSize);
	public int doCountSearch(String searcheText);
}